#!D:\Python312
import time

from pywinauto import mouse
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
# from pywinauto.findwindows import find_elements
## 1、==================================================================
# # 打开指定程序
# # 打开Windows自带的记事本
# app = Application(backend="uia").start("notepad.exe")


# 打开任意一个安装程序
# app = Application(backend="uia").connect(process=2600)
app = Application(backend="uia").connect(title="微信")
print(app)

## 2、==================================================================
# # 连接已打开的应用
# # 1、通过进程号连接应用进行打开
# app = Application(backend="uia").connect(handle=67272)
# print(app)

## 3、==================================================================
# # 选择指定窗口（1）app["类名/标题"]（2）app.类名/标题
# # 1、使用类目进行选择app["类名"]
# dlg = app["WeChatMainWndForPC"]
# 2、通过窗口标题app["标题
dlg = app["微信"]
dlg.print_control_identifiers()

## 4、==================================================================
# 窗口最大化
dlg = app["微信"]
dlg.maximize()

## 5、==================================================================
# # 窗口最最小化
# dlg = app["微信"]
# dlg.minimize()

## 6、==================================================================
# # 窗口恢复正常
# dlg = app["微信"]
# dlg.restore()

## 7、==================================================================
# # 查询窗口状态:最大化：1 正常：0
# dlg = app["微信"]
# status = dlg.get_show_state()
# print(status)

## 8、==================================================================
# # 关闭窗口
# dlg = app["微信"]
# dlg.close()

## 9、==================================================================
# # 获取窗口坐标
# dlg = app["微信"]
# rect = dlg.rectangle()
# print(rect)

## 9.1、==================================================================
# #获取元素的宽高
# dlg = app["微信"]
# height_z = dlg.child_window(title="通讯录", control_type="Button").rectangle().height()
# width_z = dlg.child_window(title="通讯录", control_type="Button").rectangle().width()
# print(height_z,width_z)

## 10、==================================================================
# # 点击事件
# dlg = app["微信"]
# liaotian = dlg.child_window(title="搜索", control_type="Edit")
# liaotian.click_input()

## 11、==================================================================
# # 输入方法
# dlg = app["微信"]
# liaotian = dlg.child_window(title="搜索", control_type="Edit")
# liaotian.click_input()
# dlg.type_keys('廖志得', with_spaces=True)

## 12、==================================================================
# # 鼠标事件
# dlg = app["微信"]
# liaotian = dlg.child_window(title="搜索", control_type="Edit")
# liaotian.click_input()
# dlg.type_keys('%V {BACKSPACE 20}', with_spaces=True)
# dlg.type_keys('廖志得', with_spaces=True)
# time.sleep(1)
# # 回车方法
# send_keys('{ENTER}')

## 13、==================================================================
# # 列表操作
# dlg = app["微信"]
# # 获取列表，先定位到联系人位置
# elementList = dlg.child_window(title="联系人", control_type="List")
# # 获取列表的元素
# infoNameList = elementList.items()
# print(infoNameList)
#
# # 选择列表然后进行滚动
# elementList = dlg.child_window(title="联系人", control_type="List")
# # 滚动列表
# liaotian = elementList.rectangle()
# # 滚动滚动列表coords表示鼠标偏移坐标位置，wheel_dist整数是往上滚，负数是往下滚，滚动距离等数字*120
# mouse.scroll(coords=(liaotian.left + 20, liaotian.top + 20), wheel_dist=-4)

